package com.feemanage.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.common.api.BusinessApi;
import com.common.core.page.PageDomain;
import com.feemanage.domain.BizBudgetAlteration;
import com.feemanage.domain.bo.FundsFeeShowBo;
import com.feemanage.domain.vo.BizBudegtAlterationVo;
import com.feemanage.domain.vo.BudegtAlterationVO;

import java.util.Collection;
import java.util.HashMap;
import java.util.List;

public interface IBizBudgetAlterationService extends BusinessApi {

    /**
     * 查询列表
     * @param pageDomain
     * @param alteration
     * @return
     */
    IPage<BizBudegtAlterationVo> selectList(PageDomain pageDomain, BizBudgetAlteration alteration);

    /**
     * 获取页面数据
     * @param showBo
     * @return
     */
    BudegtAlterationVO getBudgetInfo(FundsFeeShowBo showBo);

    /**
     * 获取详情数据
     * @param showBo
     * @return
     */
    BudegtAlterationVO geteditInfo(FundsFeeShowBo showBo);

    /**
     * 新增
     * @param alterationVO
     * @return
     */
    String addBudgetAlteration(BudegtAlterationVO alterationVO);

    /**
     * 修改
     * @param alterationVO
     * @return
     */
    String editBudgetAlteration(BudegtAlterationVO alterationVO);

    /**
     * 删除
     * @param ids
     * @param isValid
     * @return
     */
    Boolean delBudgetAlteration(Collection<String> ids, Boolean isValid);

    /**
     * 检索表头统计
     * @param alteration
     * @return
     */
    List<HashMap<String, Integer>> selectListTotal(BizBudgetAlteration alteration);


    /**
     * 导出
     * @param alteration
     * @return
     */
    List<BizBudegtAlterationVo> selectExportList(PageDomain pageDomain,BizBudgetAlteration alteration);

    String checkProject(String projectId);
}
